#include <iostream>
using namespace std;

struct num
{
unsigned a1:1;
unsigned a2:1;
unsigned a3:1;
unsigned a4:1;
unsigned a5:1;
unsigned a6:1;
unsigned a7:1;
unsigned a8:1;
unsigned a9:4;
};

class a
{
	public:
		int getc() throw(){return vc;}
int va;
int vb;
int vc;
};

class CB
{
	int t;
	public:
		CB()
		try:t(1)
		{
			throw 100;	
		}
		catch(int i)
		{
		cout<<"exception";
		}

};
int main()
{
	int myn=123;
	CB* pcb;
	try
	{
	pcb=new CB();
	}
	catch(int i)
	{
	cout<<i<<pcb<<endl;	
	}
num n=*(num*)&myn;
cout<<n.a1<<n.a2<<n.a3<<n.a4<<n.a5<<n.a6<<n.a7<<n.a8<<endl;
int aa[]={1,2,3};
a _a=*(a*)aa;
cout<<_a.va<<","<<_a.vb<<","<<_a.getc()<<endl;
}
